import java.util.ArrayList;
import java.util.List;

public class Demo4 {
    //力扣202.快乐数
    //这个题目注意去使用泛型去标记出现过的数字防止死循环和超出空间问题
    public static int reace(int n){
        int temp=0;
        while(n!=0){
            temp=temp+(n%10)*(n%10);
            n=n/10;
        }
        return temp;
    }
    public static boolean isHappy(int n) {
        List<Integer> list=new ArrayList<>();
        while(n!=1){
            list.add(n);
            n=reace(n);
            if(list.contains(n)){
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        int n=2;
        System.out.println(isHappy(n));
    }

}
